package Modelo.ObjetosDAO.Implementaciones;

import static org.junit.Assert.*;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;











import java.util.Vector;

import org.junit.*;
import org.junit.runner.RunWith;

import Modelo.Entidades.ClaseLicencia;
import Modelo.Entidades.GrupoSanguineo;
import Modelo.Entidades.Rol;
import Modelo.Entidades.TipoDocumento;
import Modelo.Entidades.Titular;
import Modelo.Entidades.Usuario;
import Modelo.ObjetosDAO.Interfases.ITitularDAO;
import Modelo.ObjetosDAO.Interfases.IUsuarioDAO;

public class Testing{

	private TitularDAO titularDAO= new TitularDAO();
	private UsuarioDAO usuarioDAO= new UsuarioDAO();

	private TipoDocumento tipoDocumento;
	private GrupoSanguineo grupoSanguineo; 
	private ClaseLicencia claseLicencia;
	private Titular t;
	private Usuario user, newUser;
	
	
	@Before
	public void init() {
		
		user=new Usuario(1, "esteban", "esteban", new Rol("ADMINISTRADOR", 1));
		titularDAO.setUsuarioActual(user);

		newUser=new Usuario(10, "nuevo", "nuevo", new Rol("ADMINISTRADOR", 1));
		tipoDocumento = new TipoDocumento(1, "DNI");
		grupoSanguineo = new GrupoSanguineo(1, "+", "0");
		claseLicencia= new ClaseLicencia("A",1);
		t= new Titular("t1", "lazza", "San Martin 2515", new Date(), "36014238", tipoDocumento, grupoSanguineo, -1, claseLicencia);
		
		
		
		
	}

	@Test
	public void registrarTitular(){
		try {
			t= titularDAO.registrarTitular(t);
			assertTrue(t.getId()>=1);
		
		} catch (Throwable e) {
			// TODO Auto-generated catch blockt
			e.printStackTrace();
		}
		
	}

	@Test
	public void posibleTitular(){
		try {
			
			t=titularDAO.posibleTitular(tipoDocumento.getId(), "36014238");
			assertNotNull(t);
		
		} catch (Throwable e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

	@Test
	public void insertUsuario(){
		try {
			
			newUser=usuarioDAO.insertUsuario(newUser);
			assertNotNull(newUser);
		
		} catch (Throwable e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

	@Test
	public void getUsuario(){
		try {
			
			newUser=usuarioDAO.getUsuario(user);
			assertNotNull(newUser);
		
		} catch (Throwable e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}





	
}
